﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Demo.Mmose.Net
{
    public class AcceptorEventArgs : EventArgs
    {
        // Methods
        public AcceptorEventArgs( ServiceHandler serviceHandler, ServiceHandleManager serviceHandleManager ) { }

        // Properties
        public ServiceHandler AcceptorHandle { get { return null; } }
        public ServiceHandleManager AcceptorHandleManager { get { return null; } }
    }

    public class GlobalDisconnectAtServerEventArgs : EventArgs
    {
        // Methods
        public GlobalDisconnectAtServerEventArgs( ServiceHandle serviceHandle, ServiceHandleManager serviceHandleManager ) { }

        // Properties
        public ServiceHandleManager AcceptorHandleManager { get { return null; } }
        public ServiceHandle DisconnectHandle { get { return null; } }
    }

    public class GlobalProcessDataAtServerEventArgs : EventArgs
    {
        // Methods
        public GlobalProcessDataAtServerEventArgs( MessageBlock messageBlock, ServiceHandle serviceHandle, ServiceHandleManager serviceHandleManager ) { }

        // Properties
        public ServiceHandleManager AcceptorHandleManager { get { return null; } }
        public MessageBlock ProcessData { get { return null; } }
        public ServiceHandle ProcessHandle { get { return null; } }
    }

    public class SocketServer : IDisposable
    {
        // Events
        public event EventHandler<AcceptorEventArgs> EventAcceptor;
        public event EventHandler<GlobalDisconnectAtServerEventArgs> EventGlobalDisconnect;
        public event EventHandler<GlobalProcessDataAtServerEventArgs> EventProcessGlobalData;

        // Methods
        public SocketServer() { }
        public void Dispose() { }
        public bool StartServer( string strHostNamePort ) { return false; }
        public bool StartServer( uint iPort ) { return false; }
        public void StopServer() { }

        // Properties
        public bool IsListened { get { return false; } }
        public string ListenAddress { get { return string.Empty; } }
        public uint MaxClients { get; set; }
        public ServiceHandleManager ServiceHandleManager { get { return null; } }
    }
}
